\section{Updatevorgang (P)}

% - Werkstatt initiiert Update Vorgang (Mitteilung an Hersteller; Auto X will Update Y)
% - Das Auto fragt ebenfalls das Update Y beim Hersteller an
% - Das passende Softwarepaket wird vom Hersteller an das Fahrzeug übertragen
% - Abfrage der passenden Checksumme vom Hersteller
% - Checksummenbildung innerhalb des Fahrzeugs
% - Vergleich der neu gebildeten Checksumme mit der Checksumme des Herstellers (Datenintegrität)
Beim überarbeiteten Updatevorgang werden die Softwareupdates nicht wie ursprünglich geplant von Servern bei den einzelnen Werkstätten, sondern direkt vom Hersteller an die Fahrzeuge übertragen. Durch diesen Schritt wird sichergestellt, dass die Updates nicht auf Werkstattebene verändert werden können (Siehe z.B. Bedrohung "`\textsl{Korrupter Meister}"' in Kapitel \ref{subsec:KorrupterMeister}).

Im Folgenden werden die einzelnen Schritte des Updatevorgangs beschrieben:
\begin{enumerate}
	\item
	\textbf{Ermittlung möglicher Updates}\\
	Der Werkstatt-Rechner liest die Versionsnummern der einzelnen Softwarekomponenten\footnote{Hierbei handelt es sich sowohl um die Firmware der Controller, als auch um Software für z.B. das Autoradio.} aus und vergleicht diese mit den aktuellen, vom Hersteller bereitgestellten, Versionsnummern.
	\item
	\textbf{Initiierung des Updatevorgangs}\\	
	Ist für eine Komponente ein Update vorhanden, sendet der Werkstatt-Rechner eine Nachricht an den Hersteller, in der diesem mitgeteilt wird, dass \texttt{Fahrzeug X} das neuste Update für \texttt{Softwarekomponente Y} anfordern darf. 
	\item
	\textbf{Anstoßen des Prozesses beim Fahrzeug}\\
	Der Werkstatt-Rechner stößt beim Fahrzeug den Updateprozess an und teilt diesem mit, dass es für \texttt{Softwarekomponente Y} das neuste Update beim Hersteller anfordern soll, woraufhin das Fahrzeug diesen Schritt durchführt.
	\item
	\textbf{Übertragung des Updates an das Fahrzeug}\\
	Der Hersteller überprüft nun, ob die beiden Anfragen übereinstimmen. Nur im positiven Fall startet er die Übertragung des Updates an das Fahrzeug. Dadurch ist sichergestellt, dass das Fahrzeug nur Updates bekommt, wenn dies von einer Werkstatt beauftragt wurde.
	\item
	\textbf{Übertragung der zum Update passenden Checksumme}\\
	Wurde das Update erfolgreich übertragen, fordert das Fahrzeug die zum Update gehörende Checksumme an, welche daraufhin vom Hersteller geliefert wird.
	\item
	\textbf{Checksummenbildung und Vergleich}\\
	Das Fahrzeug bildet eine Checksumme vom übertragenen Update und vergleicht diese mit der im vorherigen Schritt übertragenen Checksumme. Stimmen diese überein, kann davon ausgegangen werden, dass das Update korrekt übertragen wurde und es wird mit dem nächsten Schritt fortgefahren. Ansonsten wird der Updatevorgang abgebrochen und zum letzten Schritt gesprungen.
	\item
	\textbf{Einspielung des Updates}\\
	Das so übertragene und überprüfte Update wird nun auf der jeweiligen Komponente eingespielt. Im Anschluss daran wird ein kurzer Selbsttest der Komponente durchgeführt. Schlägt dieser fehl, wird der Updatevorgang rückgängig gemacht.
	\item
	\textbf{Abschluss des Updates}\\
	Zum Schluss wird dem Werkstatt-Rechner das Ergebnis des Selbsttests mitgeteilt. Im Fehlerfall wird dies dem Meister signalisiert und dieser muss entscheiden wie weiter fortzufahren ist.
\end{enumerate}